1. Field of the Invention
The present invention generally relates to a method, system and program product for matching a network document with a set of filters. Specifically, the present invention associates a set of filters with a hierarchical tree so that network documents and the like can be efficiently matched with filters.
2. Related Art
As computer technology continues to advance, computer users are increasingly relying on networks such as the World Wide Web to obtain information. For example, today a computer user can obtain news articles, sports scores, and business information over the Internet. In an attempt to capitalize on this growing trend, various services (e.g., subscription-based) have been developed to allow computer users to receive desired information. In general, these services allow a computer user to designate the type of information they wish to receive by creating one or more filters/queries. For example, if a computer user wishes to receive only sport scores related to a particular professional baseball team, the computer user will create a filter that incorporates those requirements. Once this filter is in place, the computer user will only be presented with network documents that have sports scores for that particular professional baseball team. A network document is any document that conforms to a markup language such as XML or HTML and that is communicated over a network.
Unfortunately, while processing (e.g., managing and applying) filters for a small number of computer users is relatively easy, the task becomes extremely burdensome and expensive as the number of computer users grow. Specifically, a given “service” can be responsible for delivering network documents to several thousand computer users, with each computer user having one or more filters. To date, the processing of the filters has largely occurred in two different, yet inefficient, ways. One approach involved communicating all network documents to every computer user (e.g., to the clients from the server), and then applying the filters on the clients. Such an approach is highly inefficient because it requires all network documents (even undesired documents) to be communicated to, and processed by, each client. Another approach applied a linear search technique at the server. Specifically, each document was individually compared to every filter at the server. Documents that satisfied the filters would then be communicated to the corresponding clients for the computer users to view. This linear search technique is also inefficient because it requires every network document to be individually compared to every filter. Moreover, the linear search technique requires an enormous duplication of effort. For example, if 10,000 computer users desired to receive network documents listing scores for the Atlanta Braves, they would all have the same filter, which would be evaluated 10,000 times.
In view of the foregoing, there exists a need for an efficient way to manage and apply filters to network documents. Specifically, a need exists for a method, system and program product for matching a network document with a set of filters. A further need exists for a set of filters to be associated with a hierarchical tree. Another need exists for a set of corresponding filters to be identified from the set of filters by comparing a network document to the hierarchical tree. Still yet, a need exists for the set of corresponding filters to be evaluated based on the network document so that a set of satisfied filters can be identified.